被计算机加工的数据元素不是孤立的,它们彼此之间一般存在某种关系,通常把数据元素之间的这种关系称为
数据结构讨论问题的最小单元为
在决定选取何种存储结构时,一般不考虑( )
算法分析的目的是( )
数据结构研究的内容是( )。
数据元素在计算机存储器内表示时,物理相对位置和逻辑相对位置相同并且是连续的,称之为( )。
下面数据表格中的每一行称为一个 ▁▁▁▁▁。
| 学号 | 姓名 | 性别 | 语文 | 数学 | 物理 | 化学 | 英语 | 总分 |
| 15160101 | 王克强 | 男 | 87 | 95 | 93 | 76 | 84 | 435 |
| 15160102 | 刘铭志 | 男 | 77 | 82 | 80 | 97 | 95 | 431 |
| 15160103 | 孙勇 | 男 | 78 | 85 | 87 | 86 | 65 | 401 |
| 15160104 | 李瀚东 | 男 | 93 | 82 | 72 | 75 | 95 | 417 |
| 15160105 | 赵敏 | 女 | 95 | 90 | 88 | 82 | 96 | 451 |
| 15160106 | 张毅 | 男 | 78 | 76 | 65 | 81 | 80 | 380 |
| 15160107 | 柳青 | 女 | 82 | 91 | 82 | 84 | 95 | 434 |
| 15160108 | 蔡文婷 | 女 | 85 | 78 | 80 | 86 | 95 | 424 |
关于存储结构
▁▁▁▁▁ 的特点是借助指示元素存储地址的指针来表示数据元素之间的逻辑关系。
下面描述中正确的为( )。
在计算机中存储数据时,通常不仅要存储各数据元素的值,而且还要存储( )。
数据采用链式存储结构时,要求( )
链表 - 存储密度
链表的存储密度 ▁▁▁▁▁ 。
数组 A[0..6, 0..5] 的每个元素占 5 个字节,将其按列优先次序存储在起始地址为 1000 的内存单元中,则元素 A[5, 5] 的地址是( )。
已知二维数组 A 按行优先方式存储,每个元素占用 1 个存储单元。若元素 A[0][0] 的存储地址是 100,A[3][3] 的存储地址是 220,则元素 A[5][5] 的存储地址是:
单链表 - 插入结点
在单链表中,将 s 所指新结点插入到 p 所指结点之后,其语句应该为 ▁▁▁▁▁ 。
单链表 - 删除结点
在单链表中,删除 p 所指结点的后继结点,其语句应该为 ▁▁▁▁▁ 。
双链表 - 插入结点
在双链表中,将 s 所指新结点插入到 p 所指结点之前,其语句应该为 ▁▁▁▁▁ 。
双链表 - 删除结点
在双链表中,删除 p 所指结点的后继结点,其语句应该为 ▁▁▁▁▁ 。
在双向链表存储结构中,删除p所指的结点,相应语句为:
链表不具有的特点是:
在单链表中,若p所指的结点不是最后结点,在p之后插入s所指结点,则执行
对于一个具有n(n≥1)个结点的单链表,插入一个尾结点的时间复杂度是
某个含有n个元素的线性表可以采用单链表或双链表存储结构,但要求快速删除指定位置的结点,应采用
在顺序表中,逻辑上相邻的元素,其物理位置
在单链表中若在每个结点中增加一个指针域,所含指针指向前驱结点,这样构成的链表中有两个方向不同的链,称为
单链表删除操作。
#include<iostream>
using namespace std;
#define OK 1
#define ERROR 0
typedef int ElemType;
typedef struct LNode {
ElemType data;
struct LNode *next;
} LNode, *LinkList;
void CreateList(LinkList &L, int n) ;//该函数未显示细节
int ListDelete_L(LinkList &L, int i) {
LinkList p, q;
int j;
p = L;
j = 0;
while (6分)
{
p = p->next;
++j;
}
if (!(p->next) || (j > i - 1))
return ERROR;
q = p->next;
5分
delete q;
return OK;
}
void print(LinkList &L)
{
LinkList p;
int flag=1;
p = L->next;
while (p) {
if(flag)
cout << p->data;
else
cout << " "<< p->data;
flag=0;
p = p->next;
}
}
int main() {
LinkList L;
ElemType e;
int length;
int i;
cin >> length;
CreateList(L, length);
cin >> i;
ListDelete_L(L,i);
print(L);
return 0;
}